package com.company.cloud.user.modules.base.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.company.cloud.common.bean.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * <p>
 * 1_用户信息表
 * </p>
 *
 * @author anros
 * @since 2020-06-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cust_user_info")
public class UserInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    /**
     * 公司编号
     */
    @ApiModelProperty(value = "公司编号")
    private String companyNo;

    /**
     * 用户一级分类
     */
    @ApiModelProperty(value = "用户一级分类")
    private String userTypeOne;

    /**
     * 用户二级分类
     */
    @ApiModelProperty(value = "用户二级分类")
    private String userTypeTwo;

    /**
     * 用户一级来源
     */
    @ApiModelProperty(value = "用户一级来源")
    private String sourceOne;

    /**
     * 用户二级来源
     */
    @ApiModelProperty(value = "用户二级来源")
    private String sourceTwo;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String userName;

    /**
     * 用户昵称
     */
    @ApiModelProperty(value = "用户昵称")
    private String nickName;

    /**
     * 真实姓名
     */
    @ApiModelProperty(value = "真实姓名")
    private String realName;

    /**
     * 用户头像
     */
    @ApiModelProperty(value = "用户头像")
    private String headImg;

    /**
     * 用户状态(1)
     */
    @ApiModelProperty(value = "用户状态(1)")
    private String userState;

    /**
     * 国家编号
     */
    @ApiModelProperty(value = "国家编号")
    private String nationCode;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String mobile;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String tel;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;

    /**
     * QQ
     */
    @ApiModelProperty(value = "QQ")
    private String qq;

    /**
     * 岗位编号
     */
    @ApiModelProperty(value = "岗位编号")
    private String jobCode;

    /**
     * 登录密码
     */
    @ApiModelProperty(value = "登录密码")
    private String password;

    /**
     * 登录安全码
     */
    @ApiModelProperty(value = "登录安全码")
    private String salt;

    /**
     * 交易密码
     */
    @ApiModelProperty(value = "交易密码")
    private String tradePassword;

    /**
     * 交易安全码
     */
    @ApiModelProperty(value = "交易安全码")
    private String tradeSalt;

    /**
     * 推荐码
     */
    @ApiModelProperty(value = "推荐码")
    private String referralCode;

    /**
     * 推荐人用户ID
     */
    @ApiModelProperty(value = "推荐人用户ID")
    private Integer referralUserId;

    /**
     * 分享码
     */
    @ApiModelProperty(value = "分享码")
    private String shareCode;

    /**
     * 注册日期
     */
    @ApiModelProperty(value = "注册日期")
    private LocalDateTime regTime;

    /**
     * 注册IP地址
     */
    @ApiModelProperty(value = "注册IP地址")
    private String regIp;

    /**
     * 注册客户端类型（1：ios 2：android 3：web网站 4：微信）
     */
    @ApiModelProperty(value = "注册客户端类型（1：ios 2：android 3：web网站 4：微信）")
    private String regClientType;

    /**
     * 注册设备号
     */
    @ApiModelProperty(value = "注册设备号")
    private String regDeviceNo;

    /**
     * 经纬度类型
     */
    @ApiModelProperty(value = "经纬度类型")
    private String llType;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private Double longitude;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private Double latitude;

    /**
     * 性别（1：男 2：女）
     */
    @ApiModelProperty(value = "性别（1：男 2：女）")
    private String sex;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    private String addr;

    /**
     * 生日(yyyymmdd)
     */
    @ApiModelProperty(value = "生日(yyyymmdd)")
    private String birthday;

    /**
     * 是否管理员(YN)
     */
    @ApiModelProperty(value = "是否管理员(YN)")
    private String isManager;

    /**
     * 部门ID
     */
    @ApiModelProperty(value = "部门ID")
    private Integer deptId;

    /**
     * 是否部门负责人(YN)
     */
    @ApiModelProperty(value = "是否部门负责人(YN)")
    private String isDeptManager;

    /**
     * 数据权限分类(1全部部门 2自己 3指定部门)
     */
    @ApiModelProperty(value = "数据权限分类(1全部部门 2自己 3指定部门)")
    private String dataAuthorityType;

    /**
     * 数据权限范围
     */
    @ApiModelProperty(value = "数据权限范围")
    private String dataAuthorityScope;

    /**
     * 用户标签
     */
    @ApiModelProperty(value = "用户标签")
    private String userTags;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime cdt;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime edt;

    /**
     * 创建人IP
     */
    @ApiModelProperty(value = "创建人IP")
    private String cip;

    /**
     * 修改人IP
     */
    @ApiModelProperty(value = "修改人IP")
    private String eip;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String cman;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private String eman;


    /**
     * 客户编号
     */
    @ApiModelProperty(value = "客户编号")
    private String custCode;

    /**
     * 客户名称
     */
    @ApiModelProperty(value = "客户名称")
    private String custName;


    /**
     * 客户分类
     */
    @ApiModelProperty(value = "客户分类")
    private String custType;

    /**
     * 禁言时间
     */
    @ApiModelProperty(value = "禁言时间")
    private LocalDateTime forbiddenDt;


}
